home *** CD-ROM | disk | FTP | other *** search
/ Compton's Interactive Encyclopedia 2.01VW / Compton's Interactive Encyclopedia (Version 2.01VW)(Compton's)(Learning Company)(1994).ISO / install / cie.mst < prev    next >
Text File  |  1993-08-30  |  8KB  |  328 lines

  1.  
  2. '**************************************************************************
  3. '*        COMPTON'S INTERACTIVE ENCYCLOPEDIA AND VFW 1.0 RUNTIME SETUP
  4. '**************************************************************************
  5.  
  6. '$DEFINE DEBUG  ''Define for script development/debugging
  7. '$INCLUDE 'setupapi.inc'
  8. '$INCLUDE 'msdetect.inc'
  9.  
  10. ''Dialog ID's
  11. CONST WELCOME       = 100
  12. CONST ASKQUIT       = 200
  13. CONST DESTPATH      = 300
  14. CONST EXITFAILURE   = 400
  15. CONST EXITQUIT      = 600
  16. CONST EXITSUCCESS   = 700
  17. CONST OPTIONS       = 800
  18. CONST APPHELP       = 900
  19. CONST TOOBIG        = 6300
  20. CONST BADPATH       = 6400
  21. CONST CUSTINST      = 6200
  22.  
  23.  
  24. ''Bitmap ID
  25. CONST LOGO = 1
  26.  
  27. ''File Types
  28. CONST CIEFILES    = 1
  29. CONST VIDFILES    = 2
  30.  
  31. ''Disk Sizes
  32.  
  33. GLOBAL File1
  34. GLOBAL File2
  35. GLOBAL WantedDiskSize&
  36. GLOBAL WantedCIESize&
  37.  
  38. WinDir$ = GetWindowsDir()
  39. WinSysDir$ = GetWindowsSysDir()
  40.  
  41.  
  42. GLOBAL DEST$        ''Default destination directory.
  43. GLOBAL OPTCUR$      ''Option selection from option dialog.
  44. GLOBAL BIGLIST$     ''List of option files cost calc results (boolean)
  45. GLOBAL WINDRIVE$    ''Windows Drive Letter.
  46. GLOBAL CHECKSTATES$
  47. GLOBAL RUNTIME$
  48. GLOBAL AVITOOLS$
  49. GLOBAL MDKTOOLS$
  50. GLOBAL TOOLS$
  51.  
  52.  
  53. DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING
  54. DECLARE SUB AddOptFilesToCopyList (ftype%)
  55.  
  56.  
  57.  
  58.  
  59. INIT:
  60.     CUIDLL$ = "mscuistf.dll"            ''Custom user interface dll
  61.     HELPPROC$ = "FHelpDlgProc"          ''Help dialog procedure
  62.  
  63.     SetBitmap CUIDLL$, LOGO
  64.     SetTitle "Compton's Interactive Encyclopedia"
  65.  
  66.     szInf$ = GetSymbolValue("STF_SRCINFPATH")
  67.     IF szInf$ = "" THEN
  68.     szInf$ = GetSymbolValue("STF_CWDDIR") + "CIE.INF"
  69.     END IF
  70.     ReadInfFile szInf$
  71.  
  72.     MajorVer% = GetWindowsMajorVersion()
  73.     MinorVer% = GetWindowsMinorVersion()
  74.  
  75.     IF  MajorVer% < 3 OR (MajorVer% = 3 AND MinorVer% < 10) THEN
  76.     i% = DoMsgBox("Microsoft Windows version 3.10 or greater is required for this software.  Please upgrade your version of Windows.", "Installation Problem", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  77.     END
  78.     END IF
  79.  
  80.     DEST$ = "C:\CIE"
  81.  
  82.     ''CustInst list symbols
  83.     CHECKSTATES$ = "CheckItemsState"
  84.     FOR i% = 1 TO 2 STEP 1
  85.     AddListItem CHECKSTATES$, "ON"
  86.     NEXT i%
  87.  
  88.     WINDRIVE$ = MID$(Windir$, 1, 1)
  89.  
  90.     WantedDiskSize&=660000
  91.     WantedCIESize&=4000000
  92.     
  93.     DiskSize&=GetFreeSpaceForDrive(WINDRIVE$)
  94.     
  95.     
  96.     If WantedDiskSize& > DiskSize& then
  97.         GOSUB TOOBIG
  98.         ERROR STFQUIT
  99.     EndIf
  100.  
  101. WELCOME:
  102.     sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", APPHELP, HELPPROC$)
  103.     IF sz$ = "CONTINUE" THEN
  104.     UIPop 1
  105.     ELSE
  106.     GOSUB ASKQUIT
  107.     GOTO WELCOME
  108.     END IF
  109.  
  110. CUSTINST:
  111.  
  112.     sz$ = UIStartDlg(CUIDLL$, CUSTINST, "FCustInstDlgProc", APPHELP, HELPPROC$)
  113.  
  114.     IF sz$ = "CONTINUE" THEN
  115.     IF GetListItem(CHECKSTATES$, CIEFILES) = "OFF" THEN
  116.      IF GetListItem(CHECKSTATES$, VIDFILES) = "ON" THEN
  117.     UIPOP 1
  118.     GOTO INSTALL
  119.     END IF
  120.      END IF
  121.      UIPOP 1
  122.     IF GetListItem(CHECKSTATES$, CIEFILES) = "ON" THEN
  123.      IF GetListItem(CHECKSTATES$, VIDFILES) = "OFF" THEN
  124.     UIPOP 1
  125.     GOTO GETPATH
  126.     END IF
  127.      END IF
  128.      UIPOP 1
  129.     IF GetListItem(CHECKSTATES$, CIEFILES) = "ON" THEN
  130.      IF GetListItem(CHECKSTATES$, VIDFILES) = "ON" THEN
  131.     UIPOP 1
  132.     GOTO GETPATH
  133.     END IF
  134.      END IF
  135.      UIPOP 1
  136.   
  137.   ELSEIF sz$ = "PATH" THEN
  138.     GOTO GETPATH
  139.     ELSEIF sz$ = "CHK1" THEN
  140.        GOTO CUSTINST
  141.     ELSEIF sz$ = "CHK2" THEN
  142.        GOTO CUSTINST
  143.     ELSEIF sz$ = "REACTIVATE" THEN
  144.     GOTO CUSTINST
  145.     ELSE
  146.     GOSUB ASKQUIT
  147.     GOTO CUSTINST
  148.     END IF
  149.    
  150.  
  151. GETPATH:
  152.     SetSymbolValue "EditTextIn", DEST$
  153.     SetSymbolValue "EditFocus", "END"
  154. GETPATHL1:
  155.     sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", APPHELP, HELPPROC$)
  156.     DEST$ = GetSymbolValue("EditTextOut")
  157.     DiskSize&=GetFreeSpaceForDrive(DEST$)  
  158.     If WantedCIESize& > DiskSize& then
  159.         GOSUB TOOBIG
  160.         ERROR STFQUIT
  161.     EndIf
  162.     
  163.     IF sz$ = "CONTINUE" THEN
  164.     IF IsDirWritable(DEST$) = 0 THEN
  165.         GOSUB BADPATH
  166.         GOTO GETPATHL1
  167.     END IF
  168.     UIPop 1
  169.     ELSEIF sz$ = "REACTIVATE" THEN
  170.     GOTO GETPATHL1
  171.     ELSEIF sz$ = "BACK" THEN
  172.     UIPop 1
  173.     GOTO CUSTINST
  174.     ELSE
  175.     GOSUB ASKQUIT
  176.     GOTO GETPATH
  177.     END IF
  178.  
  179. GOTO INSTALL
  180.  
  181.  
  182. TOOBIG:
  183.     sz$ = UIStartDlg(CUIDLL$, TOOBIG, "FInfo0DlgProc", 0, "")
  184.     IF sz$ = "REACTIVATE" THEN
  185.     GOTO TOOBIG
  186.     END IF
  187.     UIPop 1
  188.     RETURN
  189.  
  190.  
  191. '**
  192. '** Purpose:
  193. '**     Builds the copy list and performs all installation operations.
  194. '** Arguments:
  195. '**     none.
  196. '** Returns:
  197. '**     none.
  198. '*************************************************************************
  199. INSTALL:
  200. ClearCopyList
  201.   AddOptFilesToCopyList CIEFILES
  202.   AddOptFilesToCopyList VIDFILES
  203.   CreateDir DEST$, cmoNone
  204.   CopyFilesInCopyList
  205.  
  206.       SrcDir$ = GetSymbolValue("STF_SRCDIR")
  207.       WinDir$ = GetWindowsDir()
  208.       WinSysDir$ = GetWindowsSysDir()
  209.  
  210.  
  211.     IF GetListItem(CHECKSTATES$, CIEFILES) = "ON" THEN
  212.  
  213.     CreateProgmanGroup "Comptons", "", cmoNone
  214.     ShowProgmanGroup  "Comptons", 1, cmoNone
  215.     CreateProgmanItem "Comptons", "Compton's Interactive Encyclopedia", " "+MakePath(DEST$,"CIE.EXE"),MakePath(DEST$,"CIE.EXE"), cmoOverwrite
  216.     CreateIniKeyValue "WIN.INI", "mci extensions", "fli", "aaanim", cmoOverwrite
  217.     CreateIniKeyValue "WIN.INI", "mci extensions", "flc", "aaanim", cmoOverwrite    
  218.     CreateIniKeyValue "WIN.INI", "mci extensions", "aas", "aaanim", cmoOverwrite    
  219.     CreateIniKeyValue WinDir$ + "system.ini", "mci", "CIEANIM", "mciaap.drv", cmoOverwrite
  220.     END IF
  221.     
  222.     IF GetListItem(CHECKSTATES$, VIDFILES) = "ON" THEN
  223.       CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.MSVC", "msvidc.drv", cmoOverwrite
  224.       CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.RT21", "indeo.drv", cmoOverwrite
  225.       CreateIniKeyValue "WIN.INI", "mci extensions", "avi", "AVIVideo", cmoOverwrite
  226.       CreateIniKeyValue WinDir$ + "system.ini", "mci", "AVIVideo", "mciavi.drv", cmoOverwrite
  227.       CreateIniKeyValue WinDir$ + "system.ini", "Drivers", "VIDC.CVID", "iccvid.drv", cmoOverwrite    
  228.       Run ("regedit.exe /s " + MakePath(WinDir$, "mplayer.reg"))
  229.       Run ("profdisp")
  230.    END IF
  231.  
  232.  
  233. QUIT:
  234.     ON ERROR GOTO ERRQUIT
  235.  
  236.     IF ERR = 0 THEN
  237.     dlg% = EXITSUCCESS
  238.     ELSEIF ERR = STFQUIT THEN
  239.     dlg% = EXITQUIT
  240.     ELSE
  241.     dlg% = EXITFAILURE
  242.     END IF
  243. QUITL1:
  244.     sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfo0DlgProc", 0, "")
  245.     IF sz$ = "REACTIVATE" THEN
  246.     GOTO QUITL1
  247.     END IF
  248.     UIPop 1
  249.  
  250.     END
  251.  
  252. ERRQUIT:
  253.     i% = DoMsgBox("Setup sources were corrupted", "Setup Message", MB_OK+MB_TASKMODAL+MB_ICONHAND)
  254.     END
  255.  
  256.  
  257. BADPATH:
  258.     sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "")
  259.     IF sz$ = "REACTIVATE" THEN
  260.     GOTO BADPATH
  261.     END IF
  262.     UIPop 1
  263.     RETURN
  264.  
  265.  
  266.  
  267. ASKQUIT:
  268.     sz$ = UIStartDlg(CUIDLL$, ASKQUIT, "FQuitDlgProc", 0, "")
  269.  
  270.     IF sz$ = "EXIT" THEN
  271.     UIPopAll
  272.     ERROR STFQUIT
  273.     ELSEIF sz$ = "REACTIVATE" THEN
  274.     GOTO ASKQUIT
  275.     ELSE
  276.     UIPop 1
  277.     END IF
  278.     RETURN
  279.  
  280.  
  281.  
  282. '**
  283. '** Purpose:
  284. '**     Appends a file name to the end of a directory path,
  285. '**     inserting a backslash character as needed.
  286. '** Arguments:
  287. '**     szDir$  - full directory path (with optional ending "\")
  288. '**     szFile$ - filename to append to directory
  289. '** Returns:
  290. '**     Resulting fully qualified path name.
  291. '*************************************************************************
  292. FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING
  293.     IF szDir$ = "" THEN
  294.     MakePath = szFile$
  295.     ELSEIF szFile$ = "" THEN
  296.     MakePath = szDir$
  297.     ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN
  298.     MakePath = szDir$ + szFile$
  299.     ELSE
  300.     MakePath = szDir$ + "\" + szFile$
  301.     END IF
  302. END FUNCTION
  303.  
  304.  
  305.  
  306. SUB AddOptFilesToCopyList (ftype%) STATIC
  307.  
  308.  
  309.   IF GetListItem(CHECKSTATES$, ftype%) = "ON" THEN
  310.     SrcDir$ = GetSymbolValue("STF_SRCDIR")
  311.     WinDir$ = GetWindowsDir()
  312.     WinSysDir$ = GetWindowsSysDir()
  313.     IF ftype% = CIEFILES THEN
  314.         AddSectionFilesToCopyList "CIEFiles", SrcDir$, DEST$
  315.         AddSectionFilesToCopyList "AUTODESK", SrcDir$, WinSysDir$ 
  316.     ELSEIF ftype% = VIDFiles THEN
  317.      AddSectionFilesToCopyList "MPlayer", SrcDir$, WinDir$
  318.      AddSectionFilesToCopyList "VIDFiles", SrcDir$, WinSysDir$
  319.      AddSectionFilesToCopyList "AVICodecs", SrcDir$, WinSysDir$
  320.      AddSectionFilesToCopyList "CODEK", SrcDir$, WinSysDir$ 
  321.        END IF
  322.        SrcDir$ = ""
  323.    END IF
  324. END SUB
  325.  
  326.  
  327.  
  328.